From: Florian Müllner Date: Fri, 22 Nov 2019 17:53:26 +0000 (+0100) Subject: st/button: Notify :pressed changes X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~781^2^2~389 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=9790b0ee5d23f5d8a44a1733fb9d5fbd50a7f41d;p=gnome-shell.git st/button: Notify :pressed changes https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/846 --- diff --git a/src/st/st-button.c b/src/st/st-button.c index c1ea7b991..c2c48a510 100644 --- a/src/st/st-button.c +++ b/src/st/st-button.c @@ -139,13 +139,17 @@ st_button_press (StButton *button, ClutterEventSequence *sequence) { StButtonPrivate *priv = st_button_get_instance_private (button); + gboolean active_changed = priv->pressed == 0 || sequence; - if (priv->pressed == 0 || sequence) + if (active_changed) st_widget_add_style_pseudo_class (ST_WIDGET (button), "active"); priv->pressed |= mask; priv->press_sequence = sequence; priv->device = device; + + if (active_changed) + g_object_notify_by_pspec (G_OBJECT (button), props[PROP_PRESSED]); } static void @@ -171,6 +175,7 @@ st_button_release (StButton *button, priv->press_sequence = NULL; priv->device = NULL; st_widget_remove_style_pseudo_class (ST_WIDGET (button), "active"); + g_object_notify_by_pspec (G_OBJECT (button), props[PROP_PRESSED]); if (clicked_button || sequence) {